package com.itzzy.dice.bean.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Data
public class RoomInfo {

    /**
     * 房间id
     */
    private String roomId;

    /**
     * 房间名称
     */
    private String roomName;

    /**
     * 上一个玩家的id
     */
    private String beforePlayerId;

    /**
     * 当前玩家id
     */
    private String nowPlayerID;

    /**
     * 房间状态：  0（预备）； 1（游戏中）
     */
    private Integer roomStatus;

    /**
     * 上一把输的人的id
     */
    private String lastLossPlayerId;

    /**
     * 是否为第一次游戏
     */
    private boolean isFirst = true;

    /**
     * 游戏模式；0普通，1栽
     */
    private int diceType = 0;

    /**
     * 栽 报的数量
     */
    private int checkNum = 0;

    /**
     * 栽 选择的骰子
     */
    private int checkDice = 0;

    /**
     * 普通 报的数量
     */
    private int normalCheckNum = 0;

    /**
     * 普通 选择的骰子
     */
    private int normalCheckDice = 0;

    /**
     * 当前游玩的用户
     */
    private List<PlayerInfo> inGameList = new ArrayList<>();

    /**
     * 游戏中的所有用户
     */
    private Map<String, PlayerInfo> allPlayerMap;

    @Override
    public String toString() {
        return roomId + "-" + roomName + "|"
                + this.allPlayerMap.values().stream().map(PlayerInfo::toString).collect(Collectors.joining("="));
    }
}
